


document.addEventListener('copy', function (e) {
    var selection = window.getSelection();
    var author = text(document.getElementById("author"));
    var url = window.location.href;
    var title = text(document.getElementsByTagName("title")[0]);
    var newSelection = '作者: ' + author + '\n' +
        '链接: ' + url + '\n' +
        '来源: ' + title + '\n' +
        '著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。\n\n' + selection;
    e.clipboardData.setData('text/plain', newSelection);
    e.preventDefault();
});

//兼容浏览器获取节点文本的方法
function text(e) {
    var t = "";

    //如果传入的是元素，则继续遍历其子元素
    //否则假定它是一个数组
    e = e.childNodes || e;

    //遍历所有子节点
    for (var j = 0; j < e.length; j++) {
        //如果不是元素，追加其文本值
        //否则，递归遍历所有元素的子节点
        t += e[j].nodeType != 1 ? e[j].nodeValue : text(e[j].childNodes);
    }

    t = t.replace(/^\s+|\s+$/g, '');

    //返回区配的文本
    return t;
}
